module top (
    input clk,
    input rst,
    input [15:0] sw,
    input ps2_clk,
    input ps2_data,
    input [4:0] button,
    output [15:0] ledr,
    output VGA_CLK,
    output VGA_HSYNC,
    output VGA_VSYNC,
    output VGA_BLANK_N,
    output [7:0] VGA_R,
    output [7:0] VGA_G,
    output [7:0] VGA_B,
    output [7:0] seg0,
    output [7:0] seg1,
    output [7:0] seg2,
    output [7:0] seg3,
    output [7:0] seg4,
    output [7:0] seg5,
    output [7:0] seg6,
    output [7:0] seg7
);

/*led led1(
    .clk(clk),
    .rst(rst),
    .sw(sw),
    .ledr(ledr)
);
*/
// 41选择器
/*smux41 mux41_1(
    .a(sw[9:2]),
    .s(sw[1:0]),
    .y(ledr[1:0])
);*/
// 7段数码管和83编码器
// 输入可以使用拨动开关SW7-SW0。使能端可以用SW8。输出为LED2-0，输出指示可以是LED4，数码管输出为HEX0。
wire [3:0] num;
wire enseg;
assign num[3] = 0;
priorityencode83 encode83_1(
    .x(sw[7:0]),
    .en(sw[8]),
    .y(num[2:0])
);
assign ledr[2:0] = num[2:0];
assign enseg = (sw[7:0] != 8'b00000000);
assign ledr[4] = enseg;
bcd7seg bcd7seg_1(
  .b(num[3:0]),
  .en(enseg),
  .h(seg0[7:1])
);

// 使能输入在DP位显示
assign seg0[0] = sw[8];

endmodule
